package tech.aistar.day05.pri_property;

import java.util.Arrays;

/**
 * 本类用来演示: 测试类 - 专门的测试工具的 - junit5,ngtest等...
 *
 * @author: success
 * @date: 2021/3/12 9:34 上午
 */
public class TestProduct {
    //main - 进行测试
    public static void main(String[] args) {
        //1. 创建类的对象
        //"种子 - 非静态的成员是什么时候被初始化的???"
        //当遇到创建对象的语法的时候,才会去给所有的非静态成员分配空间以及初始化
        Product p1 = new Product();

        //当属性设置private私有化之后,外部肯定是不能够直接操作实体属性的.
        //实体类应该提供getter/setter方法来保证外部来对属性进行设置和访问.

        //通过setter方法进行设置属性值

        p1.setId(100);
        System.out.println(p1);

        //通过getter方法来访问属性值
        //int id = p1.getId();

        //System.out.println("id:"+id);

        p1.setName("习大大");
        System.out.println(p1.getName());

        //setter/getter把剩余的属性全部赋值...
        p1.setPrice(100.0d);
        p1.setLabels(new String[]{"a","b","c"});

        //依然是需要构建一个产品类型的对象
        ProductType type = new ProductType();
        type.setId(1);
        type.setName("热卖");

        //将自定义的type对象设置到product对象中
        p1.setProductType(type);

        //比较麻烦的...
        System.out.println(p1.getId()+"-"+p1.getName()+"-"+p1.getPrice()+"-"+ Arrays.toString(p1.getLabels())+"-"+p1.getProductType().getId()+"-"+p1.getProductType().getName());
    }
}
